package com.ruoyi.report_tg.domain.vo;

import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.utils.BigDecimalUtil;
import com.ruoyi.report_wjjhl.domain.vo.WdclzdgmdBaDetailVo;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
 * 土击实试验检测报告视图对象 report_tg_tjssybg_bs_info
 *
 * @author zyb
 * @date 2024-10-28
 */
@Data
@ExcelIgnoreUnannotated
public class TjssybgBsInfoVo extends ExcelGeneralVo{

    private static final long serialVersionUID = 1L;

    /**
     * 一份excel表格的唯一id(其他的excel主表，都应有此字段）
     */
    @ExcelProperty(value = "一份excel表格的唯一id(其他的excel主表，都应有此字段）")
    private Long excelId;

    /**
     * 共几页
     */
    @ExcelProperty(value = "共几页")
    private Long totalPage;

    /**
     * 第几页
     */
    @ExcelProperty(value = "第几页")
    private Long page;

    /**
     * 报告编号
     */
    @ExcelProperty(value = "报告编号")
    private String baogbh;

    /**
     * 检测单位名称
     */
    @ExcelProperty(value = "检测单位名称")
    private String jiancdwmc;

    /**
     * 工程部位/用途
     */
    @ExcelProperty(value = "工程部位/用途")
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @ExcelProperty(value = "样品名称")
    private String yangpmc;

    /**
     * 样品编号
     */
    @ExcelProperty(value = "样品编号")
    private String yangpbh;

    /**
     * 样品数量
     */
    @ExcelProperty(value = "样品数量")
    private String yangpsl;

    /**
     * 样品状态
     */
    @ExcelProperty(value = "样品状态")
    private String yangpzt;

    /**
     * 样品时间
     */
    @ExcelProperty(value = "样品时间")
    private String yangpsj;

    /**
     * 检测日期
     */
    @ExcelProperty(value = "检测日期")
    private String jiancrq;

    /**
     * 试验条件温度
     */
    @ExcelProperty(value = "试验条件温度")
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @ExcelProperty(value = "试验条件湿度")
    private String shiytjsd;

    /**
     * 检测依据
     */
    @ExcelProperty(value = "检测依据")
    private String jiancyj;

    /**
     * 判定依据
     */
    @ExcelProperty(value = "判定依据")
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @ExcelProperty(value = "主要仪器设备名称及编号")
    private String zhuyyqsbmcjbh;

    /**
     * 取样位置
     */
    @ExcelProperty(value = "取样位置")
    private String quywz;

    /**
     * 委托/任务编号
     */
    @ExcelProperty(value = "委托/任务编号")
    private String weitrwbh;

    /**
     * 土样产地
     */
    @ExcelProperty(value = "土样产地")
    private String tuycd;

    /**
     * 代表数量
     */
    @ExcelProperty(value = "代表数量")
    private String daibsl;

    /**
     * 附加声明
     */
    @ExcelProperty(value = "附加声明")
    private String fujsm;

    /**
     * 检测结论
     */
    @ExcelProperty(value = "检测结论")
    private String jiancjl;

    /**
     * 施工委托单位
     */
    @ExcelProperty(value = "施工委托单位")
    private String shigwtdw;

    /**
     * 工程名称
     */
    @ExcelProperty(value = "工程名称")
    private String gongcmc;

    /**
     * 设备id逗号分隔
     */
    @ExcelProperty(value = "设备id逗号分隔")
    private String shebIds;

    /**
     * 标识该表是报告
     */
    @ExcelProperty(value = "标识该表是报告")
    private String bgFlag;

    /**
     * 检测依据ids
     */
    @ExcelProperty(value = "检测依据ids")
    private String jiancyjIds;

    /**
     * 判定依据ids
     */
    @ExcelProperty(value = "判定依据ids")
    private String pandyjIds;

    /**
     * 检测方法
     */
    @ExcelProperty(value = "检测方法")
    private String jiancff;

    /**
     * 每层击数
     */
    @ExcelProperty(value = "每层击数")
    private Long meicjs;

    /**
     * 结合料种类
     */
    @ExcelProperty(value = "结合料种类")
    private String jiehlzl;

    /**
     * 掺配比例
     */
    @ExcelProperty(value = "掺配比例")
    private String chanpbl;

    /**
     * 试样最大粒径
     */
    @ExcelProperty(value = "试样最大粒径")
    private BigDecimal shiyzdlj;

    /**
     * 筒容积
     */
    @ExcelProperty(value = "筒容积")
    private BigDecimal tongrj;

    /**
     * 击锤质量
     */
    @ExcelProperty(value = "击锤质量")
    private BigDecimal jiczl;

    /**
     * 落距
     */
    @ExcelProperty(value = "落距")
    private BigDecimal luoj;

    /**
     * 结合料剂量
     */
    @ExcelProperty(value = "结合料剂量")
    private BigDecimal jiehljl;

    /**
     * 最大干密度1
     */
    @ExcelProperty(value = "最大干密度1")
    private BigDecimal zuidgmd1;

    /**
     * 最大干密度2
     */
    @ExcelProperty(value = "最大干密度2")
    private BigDecimal zuidgmd2;

    /**
     * 最大干密度均值
     */
    @ExcelProperty(value = "最大干密度均值")
    private BigDecimal zuidgmdjz;

    /**
     * 最佳含水率1
     */
    @ExcelProperty(value = "最佳含水率1")
    private BigDecimal zuijhsl1;

    /**
     * 最佳含水率2
     */
    @ExcelProperty(value = "最佳含水率2")
    private BigDecimal zuijhsl2;

    /**
     * 最佳含水率均值
     */
    @ExcelProperty(value = "最佳含水率均值")
    private BigDecimal zuijhsljz;

    /**
     * 修正后平均最佳含水率
     */
    @ExcelProperty(value = "修正后平均最佳含水率")
    private BigDecimal xiuzhpjzjhsl;

    /**
     * 修正后平均最大干密度
     */
    @ExcelProperty(value = "修正后平均最大干密度")
    private BigDecimal xiuzhpjzdgmd;

    /**
     * excel结果
     */
    @ExcelProperty(value = "excel结果")
    private Integer excelResult;

    public void setShiyzdlj(BigDecimal shiyzdlj) {
        this.shiyzdlj = BigDecimalUtil.stpTrailZero(shiyzdlj);
    }

    public void setTongrj(BigDecimal tongrj) {
        this.tongrj = BigDecimalUtil.stpTrailZero(tongrj);
    }

    public void setJiczl(BigDecimal jiczl) {
        this.jiczl = BigDecimalUtil.stpTrailZero(jiczl);
    }

    public void setLuoj(BigDecimal luoj) {
        this.luoj = BigDecimalUtil.stpTrailZero(luoj);
    }

    public void setJiehljl(BigDecimal jiehljl) {
        this.jiehljl = BigDecimalUtil.stpTrailZero(jiehljl);
    }

    public void setZuidgmd1(BigDecimal zuidgmd1) {
        this.zuidgmd1 = BigDecimalUtil.stpTrailZero(zuidgmd1);
    }

    public void setZuidgmd2(BigDecimal zuidgmd2) {
        this.zuidgmd2 = BigDecimalUtil.stpTrailZero(zuidgmd2);
    }

    public void setZuidgmdjz(BigDecimal zuidgmdjz) {
        this.zuidgmdjz = BigDecimalUtil.stpTrailZero(zuidgmdjz);
    }

    public void setZuijhsl1(BigDecimal zuijhsl1) {
        this.zuijhsl1 = BigDecimalUtil.stpTrailZero(zuijhsl1);
    }

    public void setZuijhsl2(BigDecimal zuijhsl2) {
        this.zuijhsl2 = BigDecimalUtil.stpTrailZero(zuijhsl2);
    }

    public void setZuijhsljz(BigDecimal zuijhsljz) {
        this.zuijhsljz = BigDecimalUtil.stpTrailZero(zuijhsljz);
    }

    public void setXiuzhpjzjhsl(BigDecimal xiuzhpjzjhsl) {
        this.xiuzhpjzjhsl = BigDecimalUtil.stpTrailZero(xiuzhpjzjhsl);
    }

    public void setXiuzhpjzdgmd(BigDecimal xiuzhpjzdgmd) {
        this.xiuzhpjzdgmd = BigDecimalUtil.stpTrailZero(xiuzhpjzdgmd);
    }

    /**
     * 详细表
     */
    List<WdclzdgmdBaDetailVo> baDetailVos;

    /**
     * 画图所需的点
     */
    private final List<GeneralCharDataVo>[] chartDatas = new ArrayList[2];

    public TjssybgBsInfoVo() {
        // 默认 10次
        baDetailVos = new ArrayList<>(10);
        for (long i = 1; i <= 10L; i++) {
            baDetailVos.add(new WdclzdgmdBaDetailVo());
        }
    }

    public void setChartData(int index, List<GeneralCharDataVo> charData) {
        this.chartDatas[index] = charData;
    }


}
